package com.cjm.algorithm.leetcode.listnode.first;

import com.cjm.algorithm.ListNode;

import java.util.List;

public class Ti725Easy {
    public static void main(String[] args) {
        System.err.println(10/3);
        System.err.println(10%3);
    }

    /**
     * 2023-09-14 22:21:35 后面的那截， 我是想不通的
     *
     * @param head
     * @param k
     * @return
     */
    public ListNode[] splitListToParts(ListNode head, int k) {
        int i = 0;
        ListNode cur = head;
        while (cur != null) {
            i++;
            cur = cur.next;
        }
        int cir = i / k; int left = i % k;
        ListNode[] res = new ListNode[k];
        ListNode pre = head;
        for(int x = 0;x <k&&pre!= null;x++) {
            res[x] = pre;
            int partSize = cir + (x < left ? 1 : 0);
            for(int j = 1;j < partSize;j++) {
                pre = pre.next;
            }
            ListNode next = pre.next;
            pre.next = null;
            pre = next;
        }
        return res;
    }
}
